/* 
  vue项目创建相关
  1. 先确定项目放在哪里，开启终端 （注意事项： 确认终端开启的路径是否是当前需要设置项目的文件路径）
  2. 通过 vue -V 检查是否有构建工具 （如果没有 npm i @vue/cli -g）
  3. 通过 vue create 项目名称 来创建项目 （注意事项: 项目名称必须为小写英文并用短横线链接）
  4. 目前 我们选择 Vue2 版本的默认安装项
  5. 通过 npm 进行安装 （如果选择错误，可以在C盘/用户/你的账号/。vuerc中进行修改）
  6. 安装完成后，一定要在 package.json 中确认vue版本

  如果一个项目有它的压缩包时
  1. 创建一个以 项目名称命名 的文件夹
  2. 将项目压缩包移动进去并且解压后删除压缩包
  3. 通过 npm i 来安装下载 package.json 中记录的依赖包

  如果希望修改项目的开发服务器端口号:
  在vue.config.js中，设置 devServer: { port: 自定义的端口号 }

  项目受到了eslint的代码规范限制。如果想要取消
  在vue.config.js中, 设置 lintOnSave: false 将其关闭（在实际的开发过程中，eslint扮演着非常重要的角色，现在就需要各位去适用）

  问： 如果在使用第三方依赖时，出现，第三方依赖要求的代码格式不符合当前项目的eslint规范时，该怎么办？
  答:  尝试进行局部关闭

  插值表达式
  {{  }} => 插值表达式一定是写在双标签中的。
  变量（data定义的）, 表达式(三元，比较，函数) => function () { return !!! } 函数表达式一定需要有返回值

  v-bind 动态属性
  语法： <div v-bind:属性名="在data中定义的变量（装载的就是属性值）" />
  简写形式: <div :属性名="在data中定义的变量（装载的就是属性值）" />
  v-bind: => :

  v-on
  语法：
    1. v-on:事件名="简单的函数执行体（只有一行代码）"
    2. v-on:事件名="methods中定义的函数"
    3. v-on:事件名="methods中定义的函数(实际参数)" √
  简写 v-on: => @  @事件名

  获取事件对象
    1. 无参数 <div @事件名="fn"> => fn (event) { event形式参数就是事件对象 }
    2. 有参数 <div @事件名="fn($event)"> => fn (event) { event形式参数就是事件对象 } √

  事件修饰符
    1. @click.stop => 阻止事件冒泡
    2. @click.prevent => 阻止默认事件 (常用) √
    3. @click.once => 当前绑定的事件只执行一次

  键盘修饰符
    1. @keydown.enter => 按下回车时触发的事件
    2. @keyup.esc => 按下返回时触发的事件

  v-model 数据双向绑定
  当数据改变时 => 视图自动更新
  当视图改变时 => 数据自动更新

  <input type="text" v-model="" />  替换的是value属性
  <select v-model=""> 替换的是name， 选中的option中的值会覆盖到v-model中
    <option></option>
  </select>
  <input type="radio" value="" v-model /> 替换的是name，选中的那个选项就是v-model的值
  <input type="checkbox" value="" v-model /> 替换的是name
      如果v-model绑定的是一个数组，那么这个数组中所体现的时每一个选中的元素
      如果v-model绑定的是一个非数组，则更加当前复选框的选中状态来切换boolean值
  <textarea v-model> 替换的是文本域双标签中的文本内容
*/